package com.lhl.simple;

import com.lhl.simple.product.ProductA;
import com.lhl.simple.product.ProductB;
import com.lhl.simple.product.ProductEnum;
import com.lhl.simple.product.base.Product;

/**
 * 简单工厂模式
 * @author 刘翰林
 * @create 2024-09-12 23:53
 */
public class SimpleFactory {
    public static Product createProduct(ProductEnum productEnum){
        String productEnumValue = productEnum.getValue();

        // 此处的if和else可以结合策略模式一起使用，具体后续补充

        if(ProductEnum.ProductA.getValue().equals(productEnumValue)){
            return new ProductA();
        }else if(ProductEnum.ProductB.getValue().equals(productEnumValue)){
            return new ProductB();
        }else {
            throw new RuntimeException("此产品不存在");
        }
    }
}
